In a datacenter, application performance-based WAN path optimization is often employed to optimize the cloud-to-cloud or cloud-to-Internet communication. In such a deployment, a central Policy Server (PS) typically collects performance measures of Traffic Class (TC) and WAN Exit link-usage reported by Border Routers (BR) under its control. According to the collected statistics, the Policy Server makes routing decision for each TC based on its policy and downloads the decisions to all BRs. For example, the routing decision for each TC is normally a routing path, which consists of a chosen WAN and a next-hop.
Border Routers perform routing control (RC), which may be regarded as a three-staged action applied to LAN-to-WAN packets on a per-packet basis. The stages include “identification,” which refers to recognition of application type (i.e., Application Recognition (AR)); “Lookup,” which refers to classifying the packet to a TC according to the recognized application type and L3 information, and retrieving the corresponding action from the policy table downloaded by Policy Server; and “Control,” which refers to executing the retrieved action against the packet. The action is normally either forwarding the packet out of the current BR's WAN or redirecting the packet to a neighbor border router from which the packet is forwarded to the WAN. Routing Control attempts to insure that the application's performance conforms to the predefined policy. However, to perform the above, the application recognition process has to observe both directions of a flow, as stateful classification may fail for asymmetric flows. In an application recognition context, asymmetric flows are the flows in which different packets of the flow go through different routers, where packets flow through different routers in different directions.